#ifndef COPYANDMOVEABLE_H
#define COPYANDMOVEABLE_H
#include<string>

namespace com{
    namespace example{
        namespace testone{
            namespace domain{

class CopyAndMoveAble
{
    public:
        CopyAndMoveAble();
        CopyAndMoveAble(const CopyAndMoveAble& cm);
        CopyAndMoveAble(CopyAndMoveAble&& cm);
        virtual ~CopyAndMoveAble();

    public:
        void getStrContent(char* buf, int buf_len);
        void setStrContent(const char* buf, int buf_len);
        void setProp1(const int& prop);
        int getProp1();
        void setProp2(const std::string& str);
        std::string getProp2();
    protected:

    private:
        char* strContent;
        int len;
        int prop1;
        std::string prop2;
};

            }
        }
    }
}

#endif // COPYANDMOVEABLE_H
